Tomcat
Tomcat的介绍
Tomcat的简介
Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP 程序的首选。也是绝大多数JavaEE开发工程师所必用的
Tomcat的作用
Tomcat的作用是作为Web服务器部署Web项目,从而让客户端能够访问,在这个过程中它扮演者两个角色: Web服务器和Servlet容器
Web服务器
Servlet容器
一.Tomcat的安装和启动
配置JAVA_HOME和java环境变量: 因为Tomcat是Java代码编写的,所以必须要配置JAVA_HOME和java环境变量之后才能运行,我们可以通过下面的命令检测:
C:\Users\Administrator>java -version java version “1.8.0_141” Java™ SE Runtime Environment (build 1.8.0_141-b15) Java HotSpot™ 64-Bit Server VM (build 25.141-b15, mixed mode)
C:\Users\Administrator>echo %JAVA_HOME% D:\software\Java
C:\Users\Administrator>echo %PATH% D:\software\xftp;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;D:\software\Java\bin;D:\software\apache-maven-3.5.4\bin;C:\Users\Administrator\AppData\Local\Microsoft\WindowsApps;
将Tomcat压缩包解压到一个非中文无空格的目录下
启动Tomcat并访问首页
运行Tomcat解压后根目录下\bin\startup.bat即可启动Tomcat服务器,然后打开谷歌浏览器,在地址栏输入“http://localhost:8080”就可以访问Tomcat了
Tomcat的目录结构
二.Tomcat部署Web项目
我们编写完Web项目之后,通常是将Web项目打包成war包,然后将war包放入Tomcat的webapps目录中即可。
在Tomcat启动过程中,会将war包进行解压,然后运行解压后的项目
在浏览器访问我们刚刚部署的项目"http://localhost:8080/项目文件夹名/要访问的文件名"
Tomcat的端口
在Tomcat安装目录下的conf目录中,可以看到一个server.xml文件,这个xml文件中就配置了Tomcat的端口号
……
……
connectionTimeout="20000" redirectPort="8443" /> …… 三个位置共定义了3个端口号,Tomcat启动后,这个三个端口号都会被占用。 在Idea中集成Tomcat 三.创建动态Web工程 1. 第一步: 创建Empty Project 2. 第二步: 创建动态Web的Module 创建好的工程目录结构: 2021版本的idea与上面有所不同 我是这样操作的 动态工程目录结构 目录或文件名功能src目录存放Java源文件web目录存放Web开发相关资源web/WEB-INF目录存放web.xml文件、classes目录、lib目录web/WEB-INF/web.xml文件别名:部署描述符deployment descriptor作用:Web工程的核心配置文件web/WEB-INF/classes目录存放编译得到的*.class字节码文件web/WEB-INF/lib目录存放第三方jar包 创建用来部署Web工程的Tomcat实例 编辑Tomcat实例 配置Tomcat实例 启动服务器 注意此时若是报错:端口被占用 则只需将已经开启的startup.bat的cmd窗口关闭即可 另外需要注意的还有 欢迎文件列表 也就是为什么 url路径中没有html文件却也能打开 四.在IDEA中重新构建 1.重启tomcat服务:只会重新编译java目录下的文件(相当于更新.classes文件) 2.重新部署:将java目录下文件和.xml等配置文件都复制到tomcat的运行环境中(相当于既更新.classes文件又更新web.xml等配置文件) 3.热部署:在运行时修改jsp文件可以在不重服务器的情况下让修改生效,但是对修改配置文件(例如.xml)和java目录下代码无效! 总结:开启热部署后,只改.jsp文件,不需要重新部署,直接刷新页面即可看到更改改配置文件和java目录下代码,就需要重新部署 为什么需要重新构建? 对于已经运行过的Web项目,如果我们增加了目录和文件,那么部署目录有可能不会自动同步过来,从而造成实际运行的效果和我们期望的不同,即便使用上述部署模式也无法解决问题。 如果我们在工程目录已经新增了images目录和两个图片 但是在部署目录并没有出现 怎么解决 将原有的war包删除,在idea中重新构建工件(打包),然后部署运行即可